// 定义一个用来获取spu列表数组的接口所需要的参数列表类型

export interface SpuPageListParamsModel {
  page: number; //页码
  limit: number; //每页的条数
  category3Id: number; //三级分类id
}

//定义spu中图片对象的接口类型
export interface SpuImageModel {
  id?: number;
  spuId: number;
  imgName: string;
  imgUrl: string;

  name?: string;
  url?: string;
  response?: {
    data: string;
  };
  isDefault?: string;
}

// 定义spu中图片列表数组的数据类型
export type SpuImageListModel = SpuImageModel[];

//定义spu对象中的销售属性对象中的销售属性值数组中的销售属性值对象的接口类型
export interface SpuSaleAttrValueModel {
  id?: number;
  spuId?: number;
  saleAttrName?: string;
  isChecked?: string;
  baseSaleAttrId: number;
  saleAttrValueName: string;
}

// 定义spu对象中的销售属性对象中得销售属性值对象数组的类型
export type SpuSaleAttrValueListModel = SpuSaleAttrValueModel[];

// 定义spu对象中的销售属性对象的接口类型
export interface SpuSaleAttrModel {
  id?: number;
  spuId?: number;
  baseSaleAttrId: number;
  spuSaleAttrValueList: SpuSaleAttrValueListModel;
  saleAttrName: string;
  isShowEdit?: boolean;
}

// 定义spu对象中的销售属性对象数组类型
export type SpuSaleAttrListModel = SpuSaleAttrModel[];

//定义spu对象的接口类型
export interface SpuModel {
  id?: number;
  category3Id?: number;
  tmId?: number;
  spuName: string;
  description: string; // 描述信息
  spuImageList: SpuImageListModel;
  spuSaleAttrList: SpuSaleAttrListModel; //销售属性数组
}

// 定义spu对象数组的类型
export type SpuListModel = SpuModel[];

// 定义基础的销售属性对象类型
export interface BaseSaleAttrModel {
  id: number;
  name: string;
}

// 定义基础的销售属性对象数组类型
export type BaseSaleAttrListModel = BaseSaleAttrModel[];
